package com.neusoft.jxc.service;

import java.util.List;

import com.neusoft.jxc.bean.Pager;
import com.neusoft.jxc.bean.PssException;

/**
 * 
 * @author chens
 *
 * @param <T>
 */
public interface SuperService<T> {
	/**
	 * 分页查询数据的方法
	 * 
	 * @param pager
	 * @return
	 * @throws PssException
	 */
	public List<T> findList(Pager<T> pager) throws PssException;

	/**
	 * 查询数据总数的方法
	 * 
	 * @param pager
	 * @return
	 * @throws PssException
	 */
	public int findTotal(Pager<T> pager) throws PssException;

	/**
	 * 查询所有数据
	 * 
	 * @return
	 */
	public List<T> findAll();

	/**
	 * 新增方法
	 * 
	 * @param param
	 * @return 新增成功返回true ，失败返回false
	 * 
	 * @throws PssException
	 */
	public boolean add(T param) throws PssException;

	/**
	 * 修改方法
	 * 
	 * @param param
	 * @return 成功返回true ，失败返回false
	 * @throws PssException
	 */
	public boolean edit(T param) throws PssException;

	/**
	 * 根据主键删除信息
	 * 
	 * @param param 只需要传递主键值就可以
	 * @return 成功返回true ，失败返回false
	 * @throws PssException
	 */
	public boolean deleteById(T param) throws PssException;
}
